Сборный проект №2

Описание проекта

Вы работаете в стартапе, который продаёт продукты питания. Нужно разобраться, как ведут себя пользователи вашего мобильного приложения.

Изучите воронку продаж. Узнайте, как пользователи доходят до покупки. Сколько пользователей доходит до покупки, а сколько — «застревает» на предыдущих шагах? На каких именно?

После этого исследуйте результаты A/A/B-эксперимента. Дизайнеры захотели поменять шрифты во всём приложении, а менеджеры испугались, что пользователям будет непривычно. Договорились принять решение по результатам A/A/B-теста. Пользователей разбили на 3 группы: 2 контрольные со старыми шрифтами и одну экспериментальную — с новыми. Выясните, какой шрифт лучше.

Описание данных

Каждая запись в логе — это действие пользователя, или событие:

  • EventName — название события;
  • DeviceIDHash — уникальный идентификатор пользователя;
  • EventTimestamp — время события;
  • ExpId — номер эксперимента: 246 и 247 — контрольные группы, а 248 — экспериментальная

Загрузка данных и изучение общей информации

Вывод

Из полученных данных видим, что необходмо:

Подготовка данных

Изменение названия столбцов

Столбец event_name

"Воронка событий", данные корректны

Столбец event_timestamp, добавление столбцов 'с датой и временем' и 'с датой'

Столбец exp_id

Данные корректны, приведем их к более удобному для восприятия виду

Проверка и удаление дубликатов

Вывод

Изучение и проверка данных

Количество событий в логе

Количество пользователей в логе

Распределение пользователей по экспериментальным группам

Количество событий на пользователя

В данных есть пользователи:

На графике видно большое число "выбросов"

Данные и период

Посчитаем число и долю событий по дням, построим гистограмму по дате и времени

Мы видим, что данные до 1-го августа неполные, их следует отбросить

Число и доля отброшенных данных (пользователи и события)

Распределение пользователей по группам

Распределение пользователей по экспериментальным группам до фильтрации

Распределение пользователей по экспериментальным группам после фильтрации

Отфильтровано пользователей: A1-5, A2-7, B-5

Вывод

Изучение данных показало, что тестирование проходило с 2019-07-25 по 2019-08-07, но в первую неделю данные были записаны в лог неполностью, поэтому все результаты до 2019-08-01 необходимо отбросить; по итогам фильтрации (-0.23% пользователей и -1.16% событий) имеем:

Изучение воронки событий

События и частота их наступления

Количество и доля пользователей совершивших каждое событие

1.5% пользователей не заходили на главную страницу вообще, но приложением при этом пользовались

Порядок событий

Самое редкое событие - Tutorial, и если подходить с точки зрения цифр - это должен быть "низ воронки", но скорее всего Tutorial - это "справка" о том, как пользоваться приложением - большинству пользователей для базовых действий "справку" читать не обязательно, вот они в нее и не заходят.
Порядок действий в нашей событийной воронке такой:

Расчет доли пользователей на каждом этапе воронки

Вывод

Изучение результатов эксперимента

Количество пользователей в каждой группе

A1 и A2 - контрольные группы, B - экспериментальная

Проверим, есть ли пользователи принадлежащие более чем к одной группе

Таких пользователей не оказалось

Проверка статистической разницы между контрольными группами

Соберем сводную таблицу воронки событий по всем группам для z-теста

Самое популярное событие MainScreenAppear, по пользователям: A1 - 2450, A2 - 2476, B - 2493; по долям: A1 - 98.6%, A2 - 98.5%, B - 97.6%

Создадим функцию для проверки статистической разницы между группами

Сформулируем гипотезы и проверим контрольные группы с помощью функции z_test, уровень статистической значимости выберем 0.05:

Проверка статистической разницы между контрольными группами и экспериментальной

С помощью функции z_test проведем A/B-тестирование между группами, уровень статистической значимости выберем 0.05:

Вывод

Общий вывод